;复制ffff:0~b之间的内容到 0020~002b 之间
assume cs:code  ; 将code包裹的代码段将要执行的段地址绑定到cs寄存器上

code segment

	mov ax,0ffffh
	mov ds,ax          ; 将ds这个数据段寄存器定位到ffffh处

	mov ax,0020h
	mov es             ; 将es这个额外的段寄存器定位到0020处

	mov bx,0           ; bx用来作为循环过程中的偏移量使用
	mov cx,12          ; 循环12次

  s:mov dl,[bx]        ; 基于ds数据段操作。将ffff:bx处的内存单元传送到dx的低字节即dl
    mov es:[bx],dl     ; 基于es数据段操作。将0020:bx处的内存单元赋值为dl中存储的数据
    inc bx             ; 偏移位置递增
    loop s             ; 循环执行

    mov ax,4c00h
    int 21h

code ends
end